package Environment;

/**
 * Creates a boundary can update the objects inside the boundary. 
 * Update means boundary can change the objects' position and velocity. 
 * 
 * @author - Ga-Young Joung and Perry Zheng
 */

import java.awt.Dimension;
import java.util.ArrayList;

import utilities.Vector;

public interface Boundary {

	/**
	 * Get a new position and velocity based on the current center, current
	 * velocity, and the size of the entity.
	 * 
	 * @param center  the current center of the object
	 * @param velocity  the current velocity of the moving object
	 * @param sizeOfEntity  the size (radius, for instance) of the moving object
	 * @return - The new position and velocity of the moving object
	 */
	public ArrayList<Vector> getNewPositionAndVelocity(Vector center,
			Vector velocity, Dimension sizeOfEntity);

}
